export class CtrlServiceFactory {
	static async getService(controlType: string) {
		switch (controlType) {
			case 'FORM':
				return (await import('./form-service')).default;
			case 'MDCTRL':
				return (await import('./md-ctrl-service')).default;
			case 'WIZARDPANEL':
				return (await import('./wizard-panel-service')).default;
			case 'CALENDAR':
				return (await import('./calendar-service')).default;
			case 'PANEL':
				return (await import('./panel-service')).default;
			case 'MULTIEDITVIEWPANEL':
				return (await import('./multi-edit-view-panel-service')).default;
			default:
				console.warn(`部件类型 ${controlType} 暂未支持部件服务`);
				return null;
		}
	}
}

export { CtrlServiceBase } from './ctrl-service-base';
export { CtrlExServiceBase } from './ctrl-ex-service-base';
